Behavioral Properties of Floating-Point Programs

نویسندگان

  • Ali Ayad
  • Claude Marché
چکیده

We propose an expressive language to specify formally behavioral properties of programs involving floating-point computations. We present a deductive verification technique, which allows to prove formally that a given program meets its specifications, using either SMT-class automatic theorem provers or general interactive proof assistants. Experiments using the Frama-C platform for static analysis of C code are presented.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Taking architecture and compiler into account in formal proofs of numerical programs. (Preuves formelles de programmes numériques en prenant en compte l'architecture et le compilateur)

On some recently developed architectures, a numerical program may give different answersdepending on the execution hardware and the compilation. These discrepancies of the resultscome from the fact that each floating-point computation is calculated with different precisions.The goal of this thesis is to formally prove properties about numerical programs while takingthe architect...

متن کامل

Multi-Prover Verification of Floating-Point Programs

In the context of deductive program verification, supporting floatingpoint computations is tricky. We propose an expressive language to formally specify behavioral properties of such programs. We give a first-order axiomatization of floating-point operations which allows to reduce verification to checking the validity of logic formulas, in a suitable form for a large class of provers including ...

متن کامل

Refining Abstract Interpretation-based Approximations with Constraint Solvers

Programs with floating-point computations are tricky to develop because floating-point arithmetic differs from real arithmetic and has many counterintuitive properties. A classical approach to verify such programs consists in estimating the precision of floating-point computations with respect to the same sequence of operations in an idealized semantics of real numbers. Tools like Fluctuat—base...

متن کامل

Practical Floating-Point Divergence Detection

Reducing floating-point precision allocation in HPC programs is of considerable interest from the point of view of obtaining higher performance. However, this can lead to unexpected behavioral deviations from the programmer’s intent. In this paper, we focus on the problem of divergence detection: when a given floating-point program exhibits different control flow (or differs in terms of other d...

متن کامل

Combining Coq and Gappa for Certifying Floating-Point Programs

Formal verification of numerical programs is notoriously difficult. On the one hand, there exist automatic tools specialized in floatingpoint arithmetic, such as Gappa, but they target very restrictive logics. On the other hand, there are interactive theorem provers based on the LCF approach, such as Coq, that handle a general-purpose logic but that lack proof automation for floating-point prop...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009